import org.junit.jupiter.api.Test;

import java.util.*;

public class _03_无重复字符的最长子串 {

    @Test
    void test(){

        System.out.println(lengthOfLongestSubstring1("aasdasda"));
    }

    public int lengthOfLongestSubstring1(String s) {
        int length=s.length();
        if (length<=1){
            return length;
        }
        int maxLen=1;
        for (int i = 0; i < length; i++) {
            for (int j = i+1; j <length; j++) {
                if (isUnique(s,i,j)){
                    maxLen=Math.max(maxLen,j-i+1);
                }
            }
        }
        return maxLen;
    }

    private boolean isUnique(String s, int i, int j) {
        HashSet<Character> set=new HashSet<>();
        for (int k = i; k <=j; k++) {
            if (set.contains(s.charAt(k))){
                return false;
            }
            set.add(s.charAt(k));
        }
            return true;
    }


//    public int lengthOfLongestSubstring(String s) {
//        List list=new ArrayList();
//        for (int i = 0; i < s.length(); i++) {
//            for (int j = i+1; j <=s.length(); j++) {
//                //所有子串
//                String substring = s.substring(i,j);
//                System.out.println(substring);//pwwkew
//                int sum=1;
//                if (substring.length()>1){
//                    for (int k = 1; k < substring.length(); k++) {//w
//                        boolean flag=true;
//                        for (int l = 0; l <k; l++) {//pw
//                            if (substring.charAt(k)!=substring.charAt(l)){
//                            }else {
//                                flag=false;
//                                break;
//                            }
//                        }
//                        if (flag){
//                            sum++;
//                        }else {
//                            break;
//                        }
//
//                    }
//                }else{
//                    sum=1;
//                }
//                list.add(sum);
////                System.out.println(sum);
//
//            }
//
//        }
//        int max = (int)Collections.max(list);
//        return max;
//    }


}
